1. Field
Embodiments of the present disclosure relate to a motor velocity control apparatus and method in which the velocity of a motor to drive a joint of a robot is controlled.
2. Description of the Related Art
In general, machineries which perform motions similar to those of humans using electrical or magnetic action are referred to as robots. Recently, robots have been used in various fields due to development of control techniques thereof. For example, there are home service robots at home, service robots in public places, transfer robots in industrial lines, and worker assistance robots. These robots perform operation using manipulators designed so as to perform a motion similar to that of human arms or hands through an electromechanical mechanism.
Most manipulators which are used now include a plurality of interconnected links. Interconnection portions between the links are referred to as joints, and a motor to drive the corresponding joint is installed at each joint.
The motor installed at each joint is driven according to a velocity profile. The velocity profile represents a movement amount of the motor required per control cycle so as to drive the motor. The motor is driven by a command representing a movement position thereof, obtained through the integration of such a value, per control cycle.
The velocity profile used to drive the motor is generated using jerks influencing driving of the motor, acceleration/deceleration, velocity, and position. Since an allowable torque generated by the motor tends to be decreased while approaching a high velocity region in the same manner as a velocity-torque curve (hereinafter, referred to as an NT-curve), in order to stably use the motor in all velocity regions, load of the motor needs to be adjusted such that the motor moves within the rated velocity or generates only a small torque if the motor is driven at a high velocity.
For this purpose, a method, in which the highest RPM of the motor is set to the rated RPM of the motor and the velocity profile is generated based on the rated RPM and regions in which RPM exceeds the rated RPM are excluded, is the most general. If the motor is used under the above conditions, the motor is driven at maximum torque in all velocity regions, and thus this method is advantageous in that the motor is easily designed and conveniently controlled. However, since the regions in which RPM exceeds the rated RPM are not used, this method is disadvantageous in that efficiency of the motor velocity is considerably low.
In order to solve above the above disadvantage, a velocity profile compensation algorithm in which torques applied to respective joints of a robot are calculated in real time using dynamics so as to drive the motor up to the maximum velocity has been proposed. However, in case of the compensation algorithm using dynamics, a complicated dynamic equation needs to be solved per control cycle, and a difference between actually required torque and torque calculated using dynamics occurs due to friction generated by a decelerator and the motor may be driven at a torque exceeding or below the allowable torque of the motor.